package main.tree;

import org.junit.Before;
import org.junit.Test;

import static org.junit.Assert.*;

/**
 * @author lzh
 * @description
 * @date 2021/3/1
 */
public class BSTTest {
    BST set;
    @Before
    public void setUp() {
         set = new BST();
        set.add(3);
        set.add(1);
        set.add(5);
        set.add(5);
        set.add(2);
        set.add(4);
        set.add(0);
    }

    @Test
    public void iterator() {

        for (TreeNode treeNode : set) {
            System.out.println(treeNode.value);
        }
    }

    @Test
    public void isEmpty() {
        assertEquals(set.isEmpty(), false);
    }

    @Test
    public void size() {
        assertEquals(set.size(), 6);
    }



    @Test
    public void testTraverse() {
        set.traverse();
    }

    @Test
    public void contains() {
        set.add(999);
        assertTrue(set.contains(999));
    }


    @Test
    public void remove() {
        set.add(1000);
        set.add(-5);
        set.add(-3);
        set.remove(1000);
        set.remove(-5);
        set.remove(-3);
        assertFalse(set.contains(-3));
        assertFalse(set.contains(-5));
        assertFalse(set.contains(1000));
    }
}